Handling unscheduled tasks in a scheduling process

ABSTRACT

Tasks (T) such as repair jobs on a telecommunications system, that are to be performed by a plurality of resources such as field engineers (E), at different locations in a geographical area ( 2 ), are scheduled by means of a scheduler ( 10 ) at a work manager server ( 5 ). The scheduler provides schedule data ( 11 ) corresponding to schedules of the tasks that individual ones of the resources are to carry out, from task data ( 4 ) concerning the tasks to be carried out and resource data ( 6 ) concerning characteristics of resources available to carry out the tasks over a given period. Not all the tasks are scheduled, resulting in unscheduled task data ( 11   a ). The schedule data ( 11 ) is downloaded to a workstation ( 7 ) together with the unscheduled task data. The downloaded data is analysed at the workstation to determine a candidate resource (E) to perform the task (T) corresponding to the unscheduled task data.

DESCRIPTION

[0001] This invention relates to scheduling tasks to be performed by aplurality of resources, for example tasks carried out by field engineerson a telecommunications system that extends over a wide area such as acountry or state.

[0002] In our PCT/WO98/22897, a scheduling system is described which maybe used for a telecommunications system in order to schedule repairtasks to be performed on the system by field engineers.Telecommunications systems conventionally are provided with automaticfault monitoring systems that report repair tasks to be carried out byfield engineers and scheduling systems may be provided to communicateschedules of tasks to the field engineers. The engineers then travelfrom location to location carrying out the tasks, reporting when tasksare completed to the scheduler through a portable computer. Thescheduler described in our aforesaid PCT application dynamically updatesthe schedules for the individual engineers depending on workload andengineer availability, which vary dynamically.

[0003] The present invention seeks to improve upon this prior system andprovide an improved flexibility of operation so as to optimise thescheduling process.

[0004] According to the invention there is provided a method ofscheduling tasks to be performed by means of a plurality of resources,comprising providing schedule data corresponding to schedules of thetasks that individual ones of the resources are to carry out, preparedfrom task data concerning the tasks to be carried out and resource dataconcerning characteristics of resources available to carry out the tasksover a given period, together with unscheduled task data concerning atask not included in the schedules, and analysing the schedules and thecharacteristics of the individual resources to determine a candidateresource to perform the task corresponding to the unscheduled task data.

[0005] The tasks may be performed at different locations in ageographical area by the resources and the schedule data containslocation data corresponding to the locations of the resources and theunscheduled task, and the analysing includes comparing the location datafor the unscheduled task and the resources to determine said candidateresource.

[0006] The suitability of more than one candidate resource may be rankedaccording to a predetermined criterion such as distance from or time totravel to the unscheduled task. An initial search may be made for agroup of resources to be considered as candidate resources.

[0007] The outcome of the analysis may be provided on a display of theor each said candidate resource which may include a map showing theirlocations. Additionally, a tour map may be provided for at least one ofthe candidate resources.

[0008] The invention also includes a program to be run on a computer toperform the inventive method.

[0009] The invention accordingly includes computer software to be run ondata processing apparatus for use in scheduling tasks to be performed bya plurality of resources, the software including program instructionsfor operating on schedule data corresponding to schedules of the tasksthat individual ones of the resources are to carry out, the scheduledata having been prepared from task data concerning the tasks to becarried out and resource data concerning characteristics of resourcesavailable to carry out the tasks over a given period, together withunscheduled task data (11 a) concerning a task not included in theschedules, the program instructions being configured to produce ananalysis of the schedules and the characteristics of the individualresources to determine a candidate resource (E) to perform the taskcorresponding to the unscheduled task data.

[0010] The computer software may further include program instructions toproduce the schedule data.

[0011] The invention also includes apparatus configured to perform theinventive method.

[0012] In order that the invention may be more fully understood, anembodiment thereof will now be described by way of example withreference to the accompanying drawings in which:

[0013]FIG. 1 is a schematic overview of a system for carrying out repairtasks on a telecommunications system;

[0014]FIG. 2 is a schematic block diagram of the work manager servershown in FIG. 1;

[0015]FIG. 3 is a schematic illustration of the workstation shown inFIG. 1;

[0016]FIG. 4 illustrates schematically the processes performed by theworkstation;

[0017]FIG. 5 is an illustration of a main window to receive downloadedschedule data;

[0018]FIG. 6 is a display window for a Gantt chart produced from thedownloaded data;

[0019]FIG. 7 illustrates a window for a particular task to be carriedout by an engineer;

[0020]FIG. 8 illustrates a Tour Map window;

[0021]FIG. 9 illustrates a map locator window within the Tour Mapwindow;

[0022]FIG. 10 illustrates a window that displays a map legend for theTour Map window;

[0023]FIGS. 11a and 11 b illustrate examples of tours carried out byfield engineers;

[0024]FIG. 12 illustrates the Tour Map window, configured to displaydetails of engineers capable of performing an unscheduled task;

[0025]FIG. 13 is a block flow diagram for providing the Tour Map displayshown in FIG. 12;

[0026]FIG. 14 illustrates a dialogue box for carrying out a queryconcerning engineers for performing tasks within their preferred workingareas;

[0027]FIG. 15 is a partial view of the Tour Map window showing thedetails of engineers found as a result of the query displayed in FIG.14;

[0028]FIG. 16 is an illustration of the Tour Map window when thepreferred working area for a selected engineer is displayed;

[0029]FIG. 17 illustrates a drop down menu that is mouse-selectable tofill-in PWA circles;

[0030]FIG. 18 illustrates the Tour Map window with PWA circles shaded todetermine engineer coverage;

[0031]FIG. 19 illustrates the Tour Map window when PWA circles overlieone another;

[0032]FIG. 20 illustrates a dialogue box for performing a query to findengineers capable of performing a particular task;

[0033]FIG. 21 illustrates a Tour Map window when the outcome of thequery of FIG. 20 is displayed;

[0034]FIG. 22 illustrates a mouse-actuated drop down menu for selectingthe PWAs of engineers, selected by means of the mouse;

[0035]FIGS. 23 and 24 are screenshots of a statistics display window;

[0036]FIG. 25 illustrates a scheduler parameter editor window;

[0037]FIG. 26 is a block diagram of a what-if process for displaying theoutcome of changes the schedule data;

[0038]FIG. 27 illustrates an engineer resource editor window;

[0039]FIG. 28 illustrates a display of statistics produced by a what-ifsession; and

[0040]FIG. 29 is a display window for comparing the outcomes ofdifferent what-if analyses.

SYSTEM OVERVIEW

[0041] An overview of the system according to the invention is shown inFIG. 1, for scheduling tasks to be carried out on a telecommunicationssystem 1, shown schematically to extend over a geographical area 2.Engineers E1, E2 . . . En carry out tasks on the telecommunicationssystem to keep it in good repair.

[0042] It will be understood that the telecommunications system mayextend over a large geographical area such as an entire country orstate. Considering for example the United Kingdom (UK), there may be ofthe order of 20,000 people working on the system who typically carry out150,000 tasks every day.

[0043] In order to simplify administration, the geographical areacovered by the telecommunications system is broken down into serviceareas or domains which can be covered by individual groups of fieldengineers e.g. fifty engineers. For example, in country areas, thedomains may cover geographical areas of the order of one county but inbuilt-up areas, the geographical extent of a domain may be much smaller.

[0044] The telecommunications system may include a fault monitoringsystem 3 which identifies work to be carried out on the system. Thefault monitoring system produces a list of tasks to be carried out bythe field engineers together with information concerning the nature ofthe tasks and their geographical location. Each task is given anindividual job identification number or JIN.

[0045] The resulting task data 4 is fed to a work manager server 5 thatcomputes schedules of tasks to be carried out by the individual fieldengineers E1, E2 . . . En. The work manager server handles tasks for theentire telecommunications system 1 although may conveniently comprise anumber of network server processors distributed around the country.

[0046] The work manager server 5 is additionally fed with informationconcerning the field engineers E1, E2 . . . En from an engineer datasource 6. The engineer data includes rostering information i.e.holidays, sickness together with details of the skill level of theengineer for example whether they can work on telephone exchanges,optical fibres or other categories of system equipment. Each fieldengineer is given a personal identification number or PIN.

[0047] The engineers in each domain are organised in a number ofindividual organisational units which are given a unique organisationalunit code or OUC. A (human) management controller for the domain isprovided with a workstation 7 to receive management informationconcerning the schedules prepared for the individual engineers and othermanagement information. The workstation 7 is configured to act as aclient for the work manager server 5 and communication between theclient and server is carried out by any suitable conventional method. Inthis example, communication is achieved through the Internet 8 althoughit will be appreciated that other wide area networks could be used.Thus, a plurality of workstations 7 communicate with the server 5through the Internet 8 in order to provide management information to theindividual organisational units associated with the domains. Only oneworkstation 7 is shown in FIG. 1 in order to simplify the description.

[0048] Each engineer E in the domain is provided with a mobile computingfacility such as a hand held terminal e.g. the Husky model FS/2 producedby Husky Computers Limited of Coventry England or a conventional laptopcomputer L1, L2. This enables the engineers to communicate individuallywith the work manager server 5, typically through the telecommunicationssystem 1 or alternatively by mobile IP. When an individual engineer Elogs onto the server 5, an individual work schedule is provided to theengineer by the server 5. The server periodically updates the scheduleto optimise task allocation to the individual engineers. Thus, when aengineer completes a task, a report is provided back to the work managerserver 5 in order to enable the server to keep an account of workcarried out and to update and optimise the schedules. After completionof an individual task, the engineer is then provided with details of thenext task to be carried out. In FIG. 1, the communication of taskcompletion reports and task requests is shown schematically byfunctional block 9.

[0049] The work manager server 5 is shown in more detail in FIG. 2 andcomprises a general purpose computer configured to operate as a serverand provide the functionality shown schematically within the hatchedoutline. The server 5 includes a scheduler 10 which receives the taskdata 4 and engineer data 6 together with the engineer reports 9. Thescheduler 10 performs a simulated annealing algorithm to produceschedules for the individual engineers which are shown schematically asfunctional block 11. In practice, the schedule data produced by thescheduler 10 is stored in a database in a storage medium such as a harddisc (not shown).

[0050] Scheduler 10 may operate to generate an initial series ofschedules allocating field engineers to the tasks. The initial schedulesmay be generated in a two-stage process in which a rule-based systemallocates tasks selected as being difficult to allocate e.g. becausethey are linked to other tasks, and then a stochastic search systemcompletes the rest of the schedule. Periodically the stochastic systemmay be interrupted to allow a further rule-based system to analyse theschedules created so far, and fix the best ones in the schedule, so thatthe stochastic system can then concentrate of improving the remainingschedules. This is referred to hereinafter as “hard scheduling” HS. Inorder to allow the scheduler to handle rapid changes in the requirementsfor tasks and the availability of field engineers, on a scale fasterthan the time required to generate the schedules, a schedulemodification system is arranged to make changes in the short term,between the schedule updates delivered by the hard schedule generationsystem. This will be referred to as “simulated annealing” SA. Thescheduler 10 is described in more detail in our co-pendingPCT/WO98/22897 to which reference is directed.

[0051] Even though the scheduler 10 can respond in essentially real timeto new task data, there will remain some unscheduled tasks 11 a whichwill need to be allocated to engineers. Details of the unscheduled tasks11 a may be stored with the schedules 11, although they are shownseparately in FIG. 1 for purposes of clarity.

[0052] The work manager server 5 also includes a what-if server 12 whichcan be accessed by the OUCs from their workstations 7 to enable what-ifscenarios to be investigated, to provide management information. Theoutcomes of such what-if investigations are held in files 13 for reviewby the workstations 7. The what-if server 12 communicates with thescheduler 10 to derive outcomes of what-if investigations.

[0053] The work manager server 5 further includes a map server 14 whichprovides map display data to the individual workstations. As explainedlater, this enables a map to be displayed corresponding to the domainfor the OUC at the workstation 7. In this example, the map server 14provides a map of the United Kingdom, using the UK National Grid mapco-ordinate reference system, which has a predetermined relationshipwith latitude and longitude. The map is provided with details of thecoverage areas of individual telephone exchanges. The engineer data 6and task data 4 provides details of the location of the variousengineers and tasks using the National Grid map co-ordinate referencesystem. Whilst in this example the map server is shown included in thework manager server 5, it will be understood that a separate map servercould be provided at a different location, accessible through theInternet 8 by the individual workstations 7. Also, different mapreference coordinate systems could be used.

[0054] As previously mentioned, the scheduler 10 uses a rule-basedsystem for the HS/SA processes. The speed of computation and the outcomeare a function of the parameters used to define the scheduling process.These scheduler parameters 15 can be modified, and as will be explainedhereinafter, the outcome of changing the values of the schedulerparameters can be reviewed at the workstation 7 using the what-if server12. The settings for the scheduler parameters 15 that were used toprepare a particular schedule 11, are made available to the workstationfor use in the what-if processes.

[0055] Under limited circumstances, the workstation may be permitted tochange the scheduler parameters for the production of subsequentschedules. In practice, the scheduler parameter data 15 may be includedwith the current schedules but is shown separately in FIG. 2 forpurposes of clarity.

[0056] Workstation 7—OUC

[0057] The hardware configuration of the workstation 7 is illustratedschematically in FIG. 3. The workstation 7 comprises a screen 16 such asa CRT or plasma display, keyboard 17, mouse 18, storage device 19,typically a floppy disk drive 19 a, hard disc 19 b and CD or DVD ROMdrive 19 c, processor 20, RAM 21, ROM 22 and network connection 23 suchas a modem or ISDN interface. The aforementioned components areinterconnected by a common bus 24 as well known in the art.

[0058] Referring to FIG. 4, control software 25 running on theworkstation 7 provides five main displays for the output display 16including a Tour Map produced by tour map generation software 25 a, anda Gantt chart produced by a software module 25 b. The software modules25 a, 25 b operate upon map and schedule data 26 downloaded from thework manager server 5, and a display is provided on the output display16. The form of the display is controlled by user control commandsgenerated by means of the keyboard 17 and mouse 18. Additionally, thecontrol software 25 includes a statistics generator 25 c to providestatistical displays based on the downloaded schedule data 26.Furthermore, the software 25 includes a what-if controller 25 d toco-operate with the what-if server 12 as will be explained in moredetail hereinafter. Also, a scheduler parameter edit controller 25 e isprovided to allow editing operations to be carried out on the schedulerparameters 15, as will be described later.

[0059] The output management information may be displayed in a Ganttchart window or a Tour Map window to be explained in more detailhereinafter.

[0060] Downloading Schedule Data

[0061] The controller at workstation 7 can download schedule data 26 byusing a main window 30 illustrated in FIG. 5. Schedules for a particulardomain can be selected by means of dialogue box 31. As previouslyexplained, the work manager server 5 may in fact comprise a number ofdistributed servers around the country and dialogue box 32 permitsselection of an appropriate local server.

[0062] The window 30 is provided with a button bar 33. Button 34 permitsthe latest schedule to be downloaded. Button 35 permits schedules to bearchived into a selected archive folder 36. Folder 36 is a defaultarchive folder and two other archive folders are shown which have beennamed by the user. Button 37 selects a statistics display and button 38selects a parameter editing facility. Button 39 selects a Gantt chart tobe described in more detail later and button 40 selects a display of aTour Map, also to be described in more detail later. Button 41 allows awhat-if analysis to be performed.

[0063] Four downloaded schedules 42, 43, 44 and 45 are shown in thewindow 30, held in a folder wms 46.

[0064] Considering the schedule 42 by way of example, it was created onFeb. 17, 2000 at 16.09 hrs and relates to the domain MI which, as can beseen from dialogue box 31, is a domain around Greenford, to the west ofLondon, UK. The schedule has been prepared by the HS/SA techniquedescribed previously and includes 115 tasks to be performed by 174engineers over three days. The data in the file includes , the task data4 and the engineer data 6 for the domain, together with scheduleinformation produced by the scheduler 10 for each of the 174 engineerswho are individually identified by their PINs. The tasks areindividually identified by their JINs.

[0065] Gantt Window

[0066] The Gantt chart generator 25 b shown in FIG. 4 operates on theschedule data to produce corresponding Gantt charts in a Gantt chartwindow 48 shown in FIG. 6. The window includes two portions; window area48 a displays scheduled tasks and window area 48 b displays unscheduledtasks. On the left hand side of the window, a vertical list 49 a of thePINs of the individual engineers is displayed and each has acorresponding time line extending horizontally across the window 48 a.Thus for PIN LWBDG01 a time line 50 is provided. Diamond symbolsindicate the start and finish of the working day for the engineerconcerned. Different categories of work activity are represented bydifferent coloured elongate strips or blocks and a colour code legend isprovided in a separate window (not shown). Considering for example thetime line 51, the engineer concerned carries out two tasks indicated bystrips 52, 53 and undergoes a period of travel 54 between the tasks 52,53.

[0067] As previously mentioned, the schedule data files 42-45 eachcontain schedule data for three successive days and in the Gantt chartof FIG. 6, the window 48 provides access to individual charts for thethree days respectively, accessible by means of tabs 55, 56, 57.

[0068] The window 48 also has a search facility button 58 that allowsthe user to search for individual jobs and engineers by PIN and JIN.

[0069] Each task is given an importance score by means of the HS/SAscheduler 10. In this example, the tasks 52 , 53 have an importancescore of 200 and 550 in FIG. 6. Full task details of an individual taskcan be obtained by clicking the right hand mouse on the task block e.g.task 52 or 53 which provides a drop down menu (not shown) with an optionto retrieve full task details from the schedule data, which is displayedin a floating window as shown in FIG. 7.

[0070] As previously explained, unscheduled tasks are displayed inwindow 48 b. A list of their location codes, comprising a letter codeindicating a telephone exchange is given in vertical window 49 b.

[0071] Each task in the schedule has a contingency figure associatedwith it. This comprises the number of “spare” minutes between the starttime scheduled for a task and the projected latest start time, asprojected by the scheduler 10. If the task were to start after thislatest start time it would then fail. For an appointed task, forexample, this latest start time is represented by the end of anappointment slot. The Gantt chart shown in FIG. 6 can be operated byusing a contingency control button 59 to display the contingency timefor each task in a different colour set. This display gives anat-a-glance indication of tasks which are currently safe from failure,those with a relatively low contingency, those which have already failedto be handled by an engineer and those which are shown as beingscheduled such that they will fail.

[0072] This display of contingency values allows the user at workstation7 to identify problem areas and make a manual intervention to thescheduling scheme, if needed.

[0073] The Tour Map Window

[0074] The tour map window allows the schedule for individual engineersto be mapped as a tour on a map corresponding to the domain 2.Appropriate map data is downloaded from the map server 14 shown in FIG.2, to the workstation 7 and the tour map generation software 24 shown inFIG. 4 operates on the schedule data to provide a pictorial display ofthe tour to be carried out by one or more field engineers as they movefrom task to task at different geographical locations according to theirindividual schedules specified in the downloaded schedule data 26.

[0075] An example of the tour map window 60 is shown in FIG. 8. In thisinstance of the window, map data is shown for a domain that includestelephone exchanges at and around Greenford. Outstanding tasks are shownas rectangular dots 61 on the map display. The boundary of the telephoneexchange area 62 for Greenford is shown together with a correspondingarea 63 associated with an exchange “Hayes”. On the left hand side ofthe window, a so-called Tours Filter dialogue box 64 displays the PINsfor field engineers for the domain. The Tours Filter 64 allows the tourfor one or more engineers to be selected by clicking with the mouse onthe relevant PIN as will be explained in more detail later. A scroll bar66 allows all the PINs to be displayed.

[0076] The duration of the displayed tour can be selected by means of atime filter which comprises two slider controls operable by using themouse. Slider control 66, marked “S” sets the start time for thedisplayed tour and the slider 67, marked “E” sets the end time.

[0077] A further filter is provided to control the display so as only todisplay tasks with an importance score within a particular range. Slidercontrol 68 sets the lower threshold level of importance score whereasslider 69 sets the upper threshold for the displayed importance score.Tasks lying outside of the range set by the slider controls are notdisplayed.

[0078] A compass rose 70 is displayed in the top left hand corner of themap area, which can be used to navigate quickly around the map. Clickingon one of the sectors of the rose moves the viewing area across the mapby one full screen. Clicking on the centre of part of the compass rosereturns the user to the central part of the map display.

[0079] When initially displaying the map or when several jumps have beenmade by scrolling around the map, it may be difficult for the user toascertain which part of the map is being displayed. To assist, a maplocator window may be displayed by operating a map locator toggle button71 on the button bar of window 60. This displays a small window 60′which displays the entire map for the domain, with cross hairs 73indicating the centre-point location for the main map window 60, asshown in FIG. 9. In this case, the cross hairs 73 are centred on theexchange Kneller Hall, to the south of Greenford. It will be understoodthat the window 73 can be toggled on and off using the button 71.

[0080] Displaying Tours

[0081] Referring to FIG. 8, the tour map window 60 has a engineer datadisplay area 72. When the tour map window 60 is first opened, thedisplay area 72 is blank and the tours filter window 64 has all the PINsfor the engineers in the domain highlighted, with the result that alltasks are displayed on the previously described Gantt chart aredisplayed on the map. However, individual tours for one or moreengineers can be selected by selecting one or more PINs in the window 64by means of the mouse.

[0082] If tours for two or three engineers only are selected, thenarrows can be displayed to link the various points of call for anindividual engineer, according to a map legend shown in FIG. 10. FromFIG. 10, it will be seen that different types of tasks are displayedwith different legends and, by clicking on the travel key 74, arrowsconnecting the various tasks for an individual engineer, within the timeframe set by slider controls 66, 67, are displayed on the map.

[0083] Examples of tours are given in FIGS. 11a and 11 b.

[0084]FIG. 11a illustrates a tour for the remainder of a current day.The engineer's current location 75 is highlighted in a distinctivecolour—red in this example, and arrow 76 indicates the journey to bemade to the next task 77. The symbol 76 indicates that more than onetask is to be performed at this location. Thereafter, the field engineeris to travel to deal with task 78. Then, the engineer returns home, atthe end of the day, as indicated by arrow 79, which has a distinctivecolour green in an actual example.

[0085]FIG. 11b illustrates a tour for a engineer, which covers theremainder of the current day, together with the entire following day.The engineer travels from current location 80 (which may be displayed inred) to three other sites 81, 82, 83, in turn. At the end of the day,the engineer travels from the site 83 to a start/finish location 84 asindicated by arrow 85 (which may be colour coded-green). The next day,the engineer travels to a first task 86, as indicated by an arrow of adistinctive colour indicating travel from the start location, e.g.yellow, indicated by arrow 87. he engineer spends all day at location 86and then returns home as indicated by arrow 88, which is colour codedgreen.

[0086] In use, the display area 72 shown in FIG. 8 includes details forthe field engineers for which tour maps are displayed. This will beexplained in more detail later.

[0087] It is possible to display details of the individual tasks byusing the mouse to click on a task such as an individual task 61 shownin FIG. 8 and, by performing predetermined mouse operations, a displaycorresponding to FIG. 7 can be obtained for each individual task.Furthermore, when multiple tasks are to be found at the same location,further mouse operations can be performed to display each taskindividually.

[0088] Unscheduled Tasks

[0089] The system also can display unscheduled tasks. Referring back toFIG. 2, it will be recalled that the scheduler 10 may not schedule alltasks and provides a list of unscheduled tasks 11 a. Informationconcerning these unscheduled tasks is provided to the workstation 7 inthe downloaded data 26 shown in FIG. 4.

[0090] To display only unscheduled tasks, a “scheduled task” option 90in the map legend window shown in FIG. 10, is disabled such that onlyunscheduled tasks, coded with a symbol ♦ are displayed at relevantlocations in the map window 60. Alternatively, the unscheduled tasks canbe displayed by clicking the right hand mouse button on the tours filterwindow 65 shown in FIG. 8 so as to deselect all PINs and thereby hidetheir scheduled tasks on the map display in window 60.

[0091] The window 60, in response, displays only those tasks which wereunscheduled at the time that the relevant schedule was run. The detailsof the unscheduled tasks can be displayed individually by using themouse to click on them as previously described for scheduled tasks so asto provide a display corresponding to FIG. 7 for an individualunscheduled task.

[0092]FIG. 12 illustrates a partial, enlarged view of the tour mapwindow 60 shown in FIG. 8, when unscheduled tasks are displayed. Thelocation of unscheduled task 91, disposed near the English town ofUxbridge is shown. Also, the current locations of field engineers areshown by the circular dots 92, 93, 94, 95, 96. Details of the currentlocations of the field engineers are shown in the display window area 72by reference to their PIN and OUC. The selection of engineers to bedisplayed in this window is determined by right clicking on the relevantunscheduled task-task 91 in this example so as to provide a display inarea window 72 concerning the PIN, OUC, distance and travel time ofadjacent field engineers. This information is computed by the tour mapsoftware 25 a shown in FIG. 4. Thus, the operator at workstation 7 candetermine how best to deal with unscheduled tasks e.g. in an emergencysituation, in which an engineer needs immediately to be dispatched todeal with the unscheduled task. Thus, the operator at workstation 7 canmanually override the schedules provided by the work manager server 5.

[0093]FIG. 13 illustrates the process carried out by the Tour Mapsoftware generator 25 a to produce the display of engineers in windowarea 72. At step S13.1, relevant engineer data are obtained from theengineer data 6 shown in FIG. 1. The engineer data may relate to all theengineers for the domain or a selected group of them. The selectionprocess is described in more detail hereinafter with reference to theFind Task Engineer Query.

[0094] Then, at step S13.2, the task location data for the unscheduledtask, that has been selected by means of the mouse cursor, is comparedwith the location data for each individual engineer so that at stepS13.3, the relative distance and the time to travel to the unscheduledtask is computed for each engineer.

[0095] Then, at step S13.4, the engineer data is ranked in order ofpreference on the basis of the time taken to travel to the unscheduledtask. However, alternative rankings may be used, such as the distance totravel to the unscheduled task. The resulting data is then displayed inthe window area 72 shown in FIG. 12.

[0096] PWA Query Tool

[0097] When the Tour Map window 60 is initially opened, no fieldengineer data is displayed in the window 72 and only the task locationsare displayed on the map in window 60, together with travel arrows, ifselected.

[0098] In order to determine the location of a specific field engineeror group of engineers who fit certain criteria, a PWA query tool isselected from the button bar using button 99 shown in FIG. 8. Thisdisplays a PWA query dialogue box as shown in FIG. 14. The dialogue boxallows certain search criteria to be set in respect of field engineers.Data selection fields, which use drop down menus (which can also beovertyped) are provided to set up the search criteria. Field 100 setsthe domain, field 101 the date and field 102 sets the OUC.

[0099] There are a number of further fields which select details fromthe engineer data 6 described with reference to FIGS. 1 and 2. AnAttendance field 103 allows engineers to be selected on the basis ofwhether they are rostered in (i.e. working), rostered off, absent (e.g.on holiday) or all engineers can be selected.

[0100] Field 104 permits engineers to be selected in terms of theirskill levels. As previously described, the engineer data indicates theskill levels of individual engineers.

[0101] Field 105 permits engineers to be selected depending on whetherthey are a member of a closed user group or CUG. These groups may be forspecific secure or specialist areas such as banks, particular industrialsites and the like where only engineers with a predetermined securityclearance are allowed access.

[0102] Field 106 allows a preferred working area or PWA for theengineers to be selected. Each engineer has a preferred working areawhich is displayed on the maps as circle centred on a particulartelephone exchange from which the engineer usually operates. Four menuchoices are provided. A “normal” PWA comprises a circle of apredetermined radius based on the telephone exchange.

[0103] An “interrupt” option permits the radius of the PWA circle to beexpanded in order to increase the effective mobility of engineers inorder to deal with the occurrence of e.g. a very important urgent task.A “start of day” option allows the PWA to be modified to take account ofthe distance that an engineer may need to travel from home at the startof the day. The “extended” option allows the PWA circle radius to beenlarged for example to deal with situations where only a few engineersare available e.g. due to sickness and a decision is made deliberatelyto increase the working area to deal with the resulting engineerresource shortfall.

[0104] When the fields have been appropriately set, a run query button107 is operated, which results in a display in the window area 72 asshown in FIG. 15.

[0105] The PINs of engineers which satisfy the search criteria aredisplayed in a column 108 together with a corresponding OUC in column109. The column relating to the mobility of the engineers together withthe corresponding mobility radius are presented in columns 110, 111. Themobility radius corresponds to the radius of a circle based on thecurrent working location of the field engineer and indicates how far theengineer can travel during the remainder of the working day. The PWAradius for the engineers is displayed in column 112, with a valuecorresponding to the search criteria set in dialogue box 106 in FIG. 14.The PWA radius is centred on a particular exchange indicated by a threedigit code in column 113. The location of the exchange on the map isindicated by a code presented in column 114.

[0106] This data can be displayed on the map in window 60 for one ormore engineers, by selecting the PIN in display 72, using the mouse. Theresulting display is shown in FIG. 16. Additionally, if desired, thestart and preferred working locations for the engineers concerned can bedisplayed by making an appropriate selection in the map legend window,using menu options 115, 116 shown in FIG. 10.

[0107] In FIG. 16, a display corresponding to engineer PIN LWMXS26 isshown corresponding to a highlighted display line 117 in display area72. The display includes a circle 118 with a radius corresponding to 8km centred on the preferred working location, namely the Greenfordexchange 119. The actual working location 120 is also shown and amobility circle with a mobility radius of 8.33 km may also be shown,although it is omitted from FIG. 16 for purposes of clarity.

[0108] Checking Area Coverage by Engineers

[0109] The system is configured to allow the area of coverage on the mapto be checked for different criteria such as a particular OUC, for thecurrent day or for some certain date in the future, specifying thenormal PWAs or other PWAs as appropriate.

[0110] Firstly, a PWA query is carried out as previously described usingappropriate PWA type, skill OUC and CUG patterns and an appropriatedate, using the PWA query dialogue box illustrated in FIG. 14. It willbe understood that this populates the display window area 72 with thedetails of engineers capable of providing the particular coverage ofinterest.

[0111] Then the right hand mouse button is operated, which displays amenu 121 shown in FIG. 17. The menu option “Fill PWA Circles” 122 isselected using the mouse, which results in the PWA circles for all theselected engineers being displayed, each filled with a shading as shownin FIG. 18. The shaded area can be compared with the map area andregions of no coverage can readily be identified. In FIG. 18, regions123 have no coverage, together with regions 124, 125, 126. The smallregions 125, 126 would not otherwise readily be identifiable.

[0112] A list of the engineers for which the filled-in PWA circles aredisplayed, is given in the display area 72.

[0113] Where several PWA circles overlie one another, it is possible toobtain information concerning the pins for the engineers concerned, byclicking right hand mouse button with the cursor disposed on the PWAcircle as shown for circle 127 in FIG. 19. In this way, the PINs for theoverlying PWA circles are displayed in a drop down list 128.

[0114] Find Task Engineer Query

[0115] The controller at workstation 7 may need to find an engineer whocan take on a currently unscheduled task. Alternatively, the controllermay need to identify a engineer who can take on a task which is alreadypart of another engineer's tour, e.g. because the engineer's van hasbroken down or because the engineer is tied up in a current task thatwill take longer than scheduled.

[0116] As previously explained with reference to FIG. 17, using theright hand button of the mouse provides a drop down menu and one of themenu options is “Find Task Engineers Query” 129 shown in FIG. 17. Asimilar menu option can be obtained when the Gantt chart is displayed byright-clicking with the mouse. Selection of this menu option displays adialogue box 130 illustrated in FIG. 20. If the right hand mouse buttonwas operated with the mouse cursor aligned with a particular task, thedetails of the task concerned will automatically be displayed in thedialogue box 130. Thus, the current JIN, domain and date areautomatically supplied to the field windows 131, 132, 133.Alternatively, if the right hand mouse button is clicked in a backgroundarea of the map instead of on the task, and the find task engineersquery option 129 is selected, the fields 131, 132 and 133 will be blankand the user can supply relevant details and then perform the query.This can be useful if the task concerned is not displayed on the map.The user can then set the PWA type in field 134. Consideration of theskill level, CUG, PWA and mobility can be selectively enabled usingfields 135, 136, 137 and 138, depending on the requirements of the user.

[0117] Then, a run query button 139 is actuated and the tour mapgeneration software 24 retrieves current details of field engineers thatfit the search criteria in the query dialogue box 130, and displaystheir current locations on the tour map in tour window 60, as shown inFIG. 21. The display window area 72 becomes populated with the detailsof all field engineers retrieved by the query i.e. those that fulfil thequery criteria and who have current or future schedule hours availableto carry out tasks, on the date selected.

[0118] As shown in FIG. 21, the available engineers are listed in orderof preference in the display area 72 in terms of their PIN and OUC,listed in column 140, 141, with details of their distance from thelocation of the task, given in column 142 together with an estimatedtravel time to the task in column 143. An estimated available start timefor the task is given in column 144 and a [?] is given in column 145.

[0119] In the map window, details for the first three engineers listedin display area 72 are provided namely for display lines 146, 147, 148,shown highlighted. The default display for map window 60 includes thecurrent and next location for each field engineer but further detailsmay optionally be displayed. In the example of FIG. 20, the preferredworking locations for the three engineers are shown at 149, 150 and 151.Furthermore two of their PWAs are shown at 152 and 153.

[0120] It will be appreciated that the Find Task Engineers Query box inFIG. 20, when used for an unscheduled task, i.e. by clicking the mouseon an unscheduled task, provides details of engineers available toperform the task which can be displayed as shown in FIG. 12, aspreviously described.

[0121] Engineer Locations

[0122] As already described, only the locations of selected engineersdisplayed in the display area 72 of window 60 may be displayed on themap. Further control of which engineers are displayed can be achieved byclicking the right hand mouse button a blank area of the map to providethe drop down menu shown in FIG. 17, and then selecting a “showlocations for” menu option 154 which offers two further options as shownin FIG. 22. When “all selected engineers” option 155 is selected, whichis the default, the engineers′ tasks are displayed as previouslydescribed with reference to FIG. 8. However, when option 156 isselected, then only the PWA circles for the selected PINs displayed inarea 72 are shown, as before, but none of the task locations aredisplayed until the mouse pointer is placed over a particular PWAcircle. Then the location of all types of tasks for that engineer aredisplayed irrespective of the map legend selections made in the maplegend window shown in FIG. 10. This option is particularly useful forbrowsing through each relevant engineer to determine their location withrespect to their PWA. It also reduces clutter when it is desired to seeall types of locations for each engineer.

[0123] When this option is selected, moving the mouse pointer onto a PWAcircle causes it to be displayed in bold and the start, current andpreferred and, where appropriate, next location for that engineer onlyare then displayed on the map. If the PINs mobility limit is greaterthan the PWA radius, this is shown as a second circle in red, at anappropriate distance from the PINs current location. If the mobilitydistance is the same as the PWA radius, and the current location is alsothe preferred location then, on placing the mouse pointer on the PWAcircle, the circle is again made bold, but now in red indicating thatthe two are superimposed.

[0124] Statistics Display

[0125] The workstation control software 25 includes a statisticsgenerator 25 c that can be selected by means of the statistics button 37on the main window shown in FIG. 5. Displays produced by the statisticsgenerator software 25 c are shown in FIGS. 23 and 24. The software actson a selected individual schedule e.g. schedule 41 in respect of thethree successive days data therein, to provide totals and averages asshown in screen display 157, in FIG. 23. As shown in FIG. 24, thedisplay also includes quality of service or QOS indicators, shown inscreen 158. The statistical display software 25 c also can providegraphical displays of the corresponding data (not shown).

[0126] Parameter Editor

[0127] As previously described, the HS/SA scheduler 10 shown in FIG. 2makes use of scheduling algorithms that include a number of adjustableparameters 15, which can be edited by means of parameter editorcontroller software 25 e shown in FIG. 4. The parameter editor softwareis actuated by means of button 38 on button bar 33 of FIG. 5, as aresult of which a display of the parameters is provided on outputdisplay 16 as shown in FIG. 25. A detailed discussion of the schedulerparameters is given in our PCT/W098/22897 supra. In FIG. 25, theparameters are displayed over six pages and have been downloaded fromthe work manager server 5. Some of the workstations 7 will be providedwith authority to chance the parameters for the scheduler 10 and toupload revised values of the individual parameters. This is achieved inFIG. 25 by placing new values of the parameters concerned in the “new”column 159, to replace the current values shown in column 160. Column161 provides a default value for each individual parameter. A usualrange is presented in column 162 and the units concerned in column 163.

[0128] The parameter editor can also be used to analyse the parametersfor a particular set of schedule data 26 which, as previously described,may include scheduler parameter data 15, corresponding to the parametersactually used when preparing the schedule data by means of the scheduler10. The parameter data derived from the schedule data 26 can also beedited, particularly for use in a what-if analysis. This is achieved byselecting one of the schedule data files, such as file 42 in the mainwindow of FIG. 5, so as to display the scheduler parameter data from theselected file in the parameter editor.

[0129] What-if Analysis

[0130] As previously described, the scheduler 10 shown in FIG. 2continually updates schedules and provides tasks to the individualengineers in response to task requests 9. The workstation 7 can carryout what-if analyses using the what-if server 12 shown in FIG. 2, makinguse of the scheduler 10, in parallel with the on-line scheduling processperformed by scheduler 10 for the engineers in response to their taskrequests 9, i.e. during a period the scheduler is supplying scheduledata to the engineers.

[0131]FIG. 26 illustrates the overall process for a what-if enquiry. Thewhat-if process allows schedule data 26 to be modified in respect of theresource data 6 concerning the engineers and the scheduler parameterdata 15, previously used to prepare the schedule under investigation.Thus, the user can investigate what would happen if a different numberof engineers were used with different working periods etc. and determinealso the effect of changing the assumptions made in the schedulingprocess by the scheduler 10. The results can be compared with theoriginal schedule data by use of the previously described Gantt chart,Tour Map and statistics display.

[0132] A what-if session is commenced by operating button 41 on buttonbar 33 in FIG. 5. The user then selects a schedule to be analysed. Forexample, one of the schedules 41-44 can be selected or an archivedschedule can be chosen from one of the archive folders 36 shown in FIG.5.

[0133] The retrieval of the schedule data is shown at step S26.1 in FIG.26. Then, at step S26.2, the resource editor window shown in FIG. 27 isused to modify the engineer data 6 in the data schedule file retrievedat step S26.1. As previously described, the schedule data concernsengineers in a particular domain for three successive days. The OUCs forthe domain are displayed on separate sheets and a display for OUC SSA101 is shown in FIG. 21. The display includes a column 164 for the PINsof the engineers for the OUC together with details of their rosteringinformation over three successive days, in column 165, 166 and 167. Thecodes W and ROF signify that the engineer concerned is working orrostered off. The operator at workstation 7 can selectively change thisdata. One or more engineers can be moved from the schedule. Engineerscan be changed from “rostered off” to rostered on i.e. “working” andvice versa. Engineers' absences can be removed or added and one or moreengineers can be duplicated to increase the resource available. Theseoperations are performed using the mouse and keyboard.

[0134] At step S26.3, the scheduler parameter data 15 is selectivelymodified. This is carried out using the input screen shown in FIG. 25,as previously described. The changes made at step S26.2 and S26.3 thusset up a what-if session shown at step S26.4. It will be understood thatin the what-if session, modifications have been made to a reference setof process conditions used in the scheduling process by the scheduler 10to produce the schedule data file concerned, namely the schedulerparameter data 15 and the resource data 6. The what-if session sets up amodified set of these conditions. The what-if session is given a sessionnumber e.g. session 0. Further what-if sessions may be generated aspreviously described for comparison with one another.

[0135] Then at step S26.5, an individual what-if session is uploaded tothe what-if server 12 in the work manager server 5 and, in parallel tothe main processes, the scheduler 10 recalculates the schedule datausing the updated parameters of the what-if session. The resultingschedule data is held as a what-if file 13 shown in FIG. 2 and thendownloaded to the workstation 7 at step S26.6.

[0136] If desired, the session details can be individually stored atstep S26.7. Also, the scheduler parameter data that was included in thesession can be saved separately at step S26.8.

[0137] The amended schedule received at step S26.6 can then be reviewed.The schedule can be used to produce a Gantt chart on display 16 at stepS26.9 in the manner previously described for the original schedule. TheGantt chart display can provide a display of both the original scheduleand the schedule produced by the what-if session and so by displayingthem side-by-side, a comparison of the changes can be easily made.

[0138] Similarly at step S26.10, a display Tour Map of the originalschedule data and the result of the what-if session can be displayed,using the previously described Tour Map display.

[0139] A statistical display can also be produced as illustrated at stepS26.11.

[0140]FIG. 28 illustrates a window for displaying what-if statistics.The window shown in FIG. 28 includes a main window area 180 whichprovides a statistical display generally similar to the display 157shown in FIG. 23. In addition, a display window 181 is provided for thevarious sessions generated by step S26.4. In FIG. 28, one of thesessions, namely “session4” has been highlighted with the mouse,referenced 182. The corresponding totals/averages and QOS indicators areshown for “session4”.

[0141] Then, as shown in FIG. 29, “session2” is highlighted, reference183. As previously explained, the sessions are subject to changes withrespect to one another and the corresponding changes in the statisticsi.e. the changes between session 182 and 183, are highlighted, typicallyin red, as shown schematically at 184, 185 in the display. Thus acomparison between the various what-if sessions can be compared readilyusing this display.

[0142] If the parameter scheduler data saved at step S26.8 gives rise toan improved scheduling, as determined by the what-if analysis justdescribed, the saved parameter data can be uploaded to the work managerserver 5 to control operation of the scheduler 10 at step S26.12. Inpractice, the operator of the workstation 7 may by experience and alsoby what-if analysis, come to learn of different optimised sets ofparameter scheduler data which work well for different conditions, suchas at the beginning of the day, the end of the day, bad weatherconditions, traffic congestion and other non-standard situations.

[0143] Also, the what-if analysis may provide insights into how therostering and work patterns of engineers can be changed, which can befed into engineer data 6 for the future, in order to improve andoptimise the task scheduling.

[0144] Many modifications and variations to the described example of theinvention are possible and, whilst the invention has been described inrelation to a telecommunications system, it can be used to process tasksrelating to other situations where resources need to be applied to carryout the tasks concerned. For example, other situations where fieldengineers are deployed. The invention could also be used for workscheduling in an industrial process situation. Many other applicationswill be evident to those skilled in the art.

1. A method of scheduling tasks to be performed by means of a pluralityof resources, comprising: providing schedule data (26, 42-45)corresponding to schedules of the tasks (11) that individual ones of theresources are to carry out, prepared from task data (4) concerning thetasks to be carried out and resource data (6) concerning characteristicsof resources available to carry out the tasks over a given period,together with unscheduled task data (11 a) concerning a task (1) notincluded in the schedules, and analysing the schedules and thecharacteristics of the individual resources to determine a candidateresource (E) to perform the task (T) corresponding to the unscheduledtask data.
 2. A method according to claim 1 wherein the tasks (T) are tobe performed at different locations in a geographical area (2) by theresources (E) and the schedule data (26,42-45) contains location datacorresponding to the locations of the resources and the unscheduledtask, and the analysing includes comparing (S13.2) the location data forthe unscheduled task and the resources to determine said candidateresource.
 3. A method according to claim 2 including ranking (S13.4)more than one said candidate resource according to a predeterminedcriterion.
 4. A method according to claim 2 including computing thedistance of the resources from the unscheduled task (S13.3) and rankingthem according to distance therefrom.
 5. A method according to claim 2including computing the time to travel to the unscheduled task (S13.3)for the resources individually and ranking the resources according tothe computed travel time.
 6. A method according to any one of claims 2to 5 including making an initial search (FIG. 20) for a group ofresources to be considered as candidate resources.
 7. A method accordingto any preceding claim including providing (S13.5) a display (72) of theor each said candidate resource (E).
 8. A method according to any one ofclaims 2 to 6 including providing a display on a map of the locations ofthe unscheduled task (91) and a least one said candidate resource(92-95).
 9. A method according claim 8 including providing a tour mapfor at least one of the candidate resources.
 10. A program to be run ona computer to perform a method as claimed in any preceding claim. 11.Computer software to be run on data processing apparatus for use inscheduling tasks to be performed by a plurality of resources, thesoftware including program instructions for operating on schedule data(26, 42-45) corresponding to schedules of the tasks (11) that individualones of the resources are to carry out, the schedule data having beenprepared from task data (4) concerning the tasks to be carried out andresource data (6) concerning characteristics of resources available tocarry out the tasks over a given period, together with unscheduled taskdata (11 a) concerning a task m not included in the schedules, theprogram instructions being configured to produce an analysis of theschedules and the characteristics of the individual resources todetermine a candidate resource (E) to perform the task (T) correspondingto the unscheduled task data.
 12. Computer software according to claim10 further including program instructions to produce the schedule data.13. Apparatus to schedule tasks to be performed using a plurality ofresources, wherein schedule data (26, 42-45) corresponding to schedulesof the tasks (11) that individual ones of the resources are to carryout, prepared from task data (4) concerning the tasks to be carried outand resource data (6) concerning characteristics of resources availableto carry out the tasks over a given period, together with unscheduledtask data (11 a) concerning a task (T) not included in the schedules,are provided, the apparatus comprising: a processor configured toanalyse the schedules and the characteristics of the individualresources to determine a candidate resource (E) to perform the task (T)corresponding to the unscheduled task data.
 14. Apparatus according toclaim 13 configured as a client (7) to receive said schedule data from aserver (5).
 15. Apparatus according to claim 14 together with the server(5).
 16. Apparatus according to claim 13, 14 or 15 including a displaydevice (16) configured to display the unscheduled task and at least onesaid candidate.
 17. Apparatus according to any one of claims 13 to 16wherein the schedule data relates to tasks to be performed on atelecommunications system and the resource data relates to fieldengineers to perform the tasks.